friend class |
The keywords private and protected are used to deny the access of some member variables or functions of a class. The keyword friend is used to have more control on the access of the member variables and functions of a class. For instance, consider the MyArray class previously described, this class has two private member variables: count and data. Suppose now that you would like to give access to these private members to a File class only, you can accomplish this by declaring the File class as friend as shown below. Las palabras clave private y protected son usadas para negar el acceso a algunas variables y funciones miembro de una clase. La palabra clave friend es usada para tener un mayor control en el acceso de las variables y funciones de una clase. Por ejemplo, considere la clase MyArray previamente descrita, esta clase tiene dos variables miembro privadas: count y data. Suponga ahora que a usted le gustaría dar acceso a estos miembro privados a una clase File solamente, usted puede conseguir esto declarando la clase File como friend como se muestra debajo. |
MyArray.h |
#pragma once class MyArray { public: MyArray(void); MyArray(int count); ... private: double *data; void Copy(const MyArray& myArray); int count; friend class File; // The File class has access now to private members }; |
Tip |
You should use friend only when there is no other way to provide the desire access. Usted debe de usar friend solamente cuando no hay otra forma de conseguir el acceso deseado. |
Problem 1 |
Design a full example with two classes that use friend, show your results using a class diagram in UML. Create a project to test the use of the classes. Diseñe un ejemplo completo con dos clases que usen friend, muestre su resultado en diagrama de clases de UML. Cree un proyecto que demuestre el uso de sus clases. |